﻿using Hangfire.Common;
using Hangfire.Dashboard;
using System.Linq;


namespace Hangfire_Demo.HFConfig
{
    /// <summary>
    /// DisplayNameFunc是一个用于自定义作业显示名称的委托。
    /// 传递一个自定义的DisplayNameFunc函数来转换作业的显示名称
    /// </summary>
    public class CustomDisplayNameFunc
    {
        public string GenerateDisplayName(DashboardContext context, Job job)
        {
            // 在这里实现自定义的名称转换逻辑
            if (job.Args.ToArray().Length >=3)
            {
                return job.Args.ToArray()[2].ToString();
            }

            //if (job.Method.Name == "MyCustomMethod")
            //{
            //    return "Custom Display Name for MyCustomMethod";
            //}
            else
            {
                return $"{job.Method.Name}";
            }
        }
    }
}
